As networks became widespread, people saw it as a way of distributing data. But while the average bandwidth capacity is increasing, users around the world are trying to share more data. Although the networks are able to support more bandwidth, they cannot keep up with the rapidly increasing requests of the users. Some of the network configurations are not always suitable for disseminating files of considerable size. Often, networks have to be managed in a very automatic, dynamic, and efficient way. For example, enabling distribution of files may require flexible control, distributed processing, bandwidth sensitivity, conditional processing, auditing and security.